System and method for using images to authenticate a user

ABSTRACT

Systems and methods for authenticating a user, the method including receiving an image of a user of a device, identifying a first facial descriptor of the user from the received image and from previously captured images of the user, and determining a difference between the first facial descriptor from the received image and that from the previously captured images. The method further includes identifying a second facial descriptor of a non-user from the previously captured images of the user, and applying facial recognition to images stored in a plurality of second social networking profiles associated with a first social networking profile of the user to identify the second facial descriptor from the images stored in the second social networking profiles. Based on the difference and the second facial descriptor, the user may be authenticated.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Pat. Application No.16/351,768, filed Mar. 13, 2019, which is a continuation of U.S. Pat.Application No. 16/050,218, filed Jul. 31, 2018. The content of theforegoing applications is incorporated herein in its entirety byreference.

TECHNICAL FIELD

The present disclosure relates to systems and methods for using imagesto authenticate a user.

BACKGROUND

Conventional systems and methods for authentication may apply facialrecognition to the user’s image. For example, users are asked to captureimages of themselves and the images are processed and analyzed byprocessors on mobile devices. The processors may apply facialrecognition algorithms to the images. However, with rapid developmentsin technology, existing ways of authentication are not robust enough toprotect against data vulnerability. For example, a fake user may hack anauthentication mechanism that applies facial recognition by capturing animage of a picture of the user’s face. The authentication mechanism maythen recognize the user’s face in the picture and allow the fake useraccess to personal information.

In view of such deficiencies, there exists a need for improved and morerobust systems and methods for authentication of users.

SUMMARY

In accordance with the present disclosure, a computer-implemented methodof authenticating a user is provided. The method may comprise receivingan image of a user of a device, identifying a first facial descriptor ofthe user from the received image, identifying the first facialdescriptor of the user from a plurality of previously captured images ofthe user stored in the device, determining a difference between thefirst facial descriptor from the received image and the first facialdescriptor from the previously captured images, identifying a secondfacial descriptor of a non-user from the previously captured images ofthe user stored in the device, applying facial recognition to imagesstored in a plurality of second social networking profiles associatedwith a first social networking profile of the user to identify thesecond facial descriptor from the images stored in the second socialnetworking profiles, and generating, based on at least the differenceand the identified second facial descriptor, a notification indicativeof whether the user in the received image is an authorized user.

In another embodiment, the method may further comprise generating anotification that the user in the received image is an authorized userwhen the difference between the first facial descriptor from thepreviously captured images and the first facial descriptor from thereceived image is lower than a predetermined threshold. The notificationmay comprise at least one of a visual notification or an audiblenotification. In some embodiments, generating the notification mayfurther comprise at least one of unlocking the device, enabling the userto access contents stored in the device, or enabling the user to performa financial transaction.

In other embodiments, the method may further comprise enabling the userto perform a financial transaction when the difference is lower than thepredetermined threshold. The predetermined threshold may vary based on atype of financial transaction requested by the user. In someembodiments, the at least one of the first facial descriptor or thesecond facial descriptor may include at least one of an eye, a nose, ora mouth of the user.

In other embodiments, determining the difference between the firstfacial descriptor from the received image and the first facialdescriptor from the previously captured images may further comprisegenerating a first color histogram of the first facial descriptor fromthe received image, and comparing the first color histogram to secondcolor histograms of the first facial descriptor from the previouslycaptured images. In yet another embodiment, determining the differencebetween the first facial descriptor from the received image and thefirst facial descriptor from the previously captured images furthercomprises aligning the first facial descriptor from the received imagewith the first facial descriptor from the previously captured images. Insome aspects, the difference between the first facial descriptor fromthe received image and the first facial descriptor from the previouslycaptured images is weighted higher than the identified second facialdescriptor to determine whether the user in the received image is anauthorized user.

In some embodiments, the method may further comprise evaluating aliveness of the user by requesting the user to make a predeterminedfacial expression, capturing a second image of the user while the useris making the predetermined facial expression, and performing athree-dimensional (3D) rendering of the second image.

According to another embodiment of the present disclosure, acomputer-implemented method of authenticating a user is provided. Themethod may comprise receiving a video of a user of a device, separatingthe video into a plurality of image frames of the user, identifying afirst facial descriptor of the user from the image frames, identifyingthe first facial descriptor of the user from a plurality of previouslycaptured images of the user stored in the device, determining adifference between the first facial descriptor from the image frames andthe first facial descriptor from the previously captured images,identifying a second facial descriptor of a non-user from the previouslycaptured images of the user stored in the device, applying facialrecognition to images stored in a plurality of second social networkingprofiles associated with a first social networking profile of the userto identify the second facial descriptor from the images stored in thesecond social networking profiles, and generating, based on at least thedifference and the identified second facial descriptor, a notificationindicative of whether the user in the received video is an authorizeduser.

In another embodiment, the method may further comprise generating anotification that the user in the video is an authorized user when thedifference between the first facial descriptor from the previouslycaptured images and the first facial descriptor from the image frames islower than a predetermined threshold. In some embodiments, generatingthe notification may further comprise at least one of unlocking thedevice, enabling the user to access contents stored in the device, orenabling the user to perform a financial transaction.

In other embodiments, the method may further comprise enabling the userto perform a financial transaction when the difference is lower than thepredetermined threshold. The predetermined threshold may vary based on atype of financial transaction requested by the user. In someembodiments, the at least one of the first facial descriptor or thesecond facial descriptor may include at least one of an eye, a nose, ora mouth of the user.

In other embodiments, determining the difference between the firstfacial descriptor from the image frames and the first facial descriptorfrom the previously captured images may further comprise generating afirst color histogram of the first facial descriptor from the imageframes, and comparing the first color histogram to second colorhistograms of the first facial descriptor from the previously capturedimages. In yet another embodiment, determining the difference betweenthe first facial descriptor from the image frames and the first facialdescriptor from the previously captured images further comprisesaligning the first facial descriptor from the image frames with thefirst facial descriptor from the previously captured images.

In some embodiments, the method may further comprise evaluating aliveness of the user by requesting the user to perform a predeterminedmotion, recording a second video of the user while the user isperforming the predetermined motion, separating the second video into aplurality of second image frames, and performing a three-dimensional(3D) rendering of the second image frames. The predetermined motion mayinclude at least one of a predetermined head movement or a predeterminedfacial expression.

According to another embodiment of the present disclosure, a system forauthenticating a user is provided. The system may comprise at least oneprocessor and at least one memory storing instructions. The instructionsmay cause the processor to perform operations comprising receiving animage of a user of a device, identifying a first facial descriptor ofthe user from the received image, identifying the first facialdescriptor of the user from a plurality of previously captured images ofthe user stored in the device, determining a difference between thefirst facial descriptor from the received image and the first facialdescriptor from the previously captured images, identifying a secondfacial descriptor of a non-user from the previously captured images ofthe user stored in the device, applying facial recognition to imagesstored in a plurality of second social networking profiles associatedwith a first social networking profile of the user to identify thesecond facial descriptor from the images stored in the second socialnetworking profiles, and generating, based on at least the differenceand the identified second facial descriptor, a notification indicativeof whether the user in the received image is an authorized user.

According to another embodiment of the present disclosure, acomputer-implemented method of authenticating a user is provided. Themethod may comprise receiving an image of a user of a device,identifying at least one facial descriptor of the user from the receivedimage, identifying at least one facial descriptor of the user from aplurality of previously captured images of the user stored in thedevice, determining a difference between the at least one facialdescriptor from the received image and the at least one facialdescriptor from the previously captured images, cross-verifying thereceived image against a plurality of images of the user stored in asocial networking profile of the user, cross-verifying the receivedimage against a plurality of images of the user stored in a socialnetworking profile of a non-user, the social networking profile of thenon-user being associated with the social networking profile of theuser, and generating, based on at least the determined difference andthe cross-verifications, a notification indicative of whether the userin the received image is an authorized user.

In some embodiments, the method may further comprise generating anotification that the user in the received image is an authorized userwhen the difference between the at least one facial descriptor from thepreviously captured images and the at least one facial descriptor fromthe received image is lower than a predetermined threshold. The at leastone facial descriptor of the user may comprise at least one of an eye, anose, or a mouth of a user. The notification may comprise at least oneof a visual notification or an audible notification. In someembodiments, generating the notification may further comprise at leastone of unlocking the device, enabling the user to access contents storedin the device, or enabling the user to perform a financial transaction.In some embodiments, enabling the user to perform a financialtransaction when the difference is lower than the predeterminedthreshold. The predetermined threshold may vary based on a type offinancial transaction requested by the user.

In some embodiments, determining the difference between the at least onefacial descriptor from the received image and the at least one facialdescriptor from the previously captured images may comprise generating afirst color histogram of the at least one facial descriptor from thereceived image, and comparing the first color histogram with secondcolor histograms of the at least one facial descriptor from thepreviously captured images. In other embodiments, determining thedifference between the at least one facial descriptor from the receivedimage and the at least one facial descriptor from the previouslycaptured images may comprise aligning the at least one facial descriptorfrom the received image to the at least one facial descriptor from thepreviously captured images.

In another embodiment, the method may further comprise evaluating aliveness of the user by requesting the user to make a predeterminedfacial expression, capturing a second image of the user while the useris making the predetermined facial expression, and performing athree-dimensional (3D) rendering of the second image. In otherembodiments, cross-verifying the received image may comprise aggregatingsocial networking profiles of non-users associated with the socialnetworking profile of the user, performing facial recognition on imagesof the user stored in the non-user social networking profiles toidentify the at least one facial descriptor of the user, calculating,based on the facial recognition performed, a number of images in whichthe at least one facial descriptor of the user was identified, andauthenticating the user when the number exceeds a predeterminedthreshold.

According to another embodiment of the present disclosure, acomputer-implemented method of authenticating a user is provided. Themethod may comprise receiving a video of a user of a device, separatingthe video into a plurality of image frames of the user, identifying atleast one facial descriptor of the user from the image frames,identifying at least one facial descriptor of the user from a pluralityof previously captured images of the user stored in the device,determining a difference between the at least one facial descriptor fromthe image frame s and the at least one facial descriptor from thepreviously captured images, cross-verifying the image frames against aplurality of images of the user, cross-verifying the image framesagainst a plurality of images of the user stored in a social networkingprofile of a non-user, the social networking profile of the non-userbeing associated with the social networking profile of the user, andgenerating, based on at least the determined difference and thecross-verifications, a notification indicative of whether the user inthe received video is an authorized user.

In some embodiments, the method may further comprise generating anotification that the user in the video is an authorized user when thedifference between the at least one facial descriptor from thepreviously captured images and the at least one facial descriptor fromthe image frames is lower than a predetermined threshold. The at leastone facial descriptor of the user may comprise at least one of an eye, anose, or a mouth of a user. In some embodiments, generating thenotification may further comprise at least one of unlocking the device,enabling the user to access contents stored in the device, or enablingthe user to perform a financial transaction. In some embodiments,enabling the user to perform a financial transaction when the differenceis lower than the predetermined threshold. The predetermined thresholdmay vary based on a type of financial transaction requested by the user.

In some embodiments, determining the difference between the at least onefacial descriptor from the image frames and the at least one facialdescriptor from the previously captured images may comprise generating afirst color histogram of the at least one facial descriptor from theimage frames, and comparing the first color histogram with second colorhistograms of the at least one facial descriptor from the previouslycaptured images. In other embodiments, determining the differencebetween the at least one facial descriptor from the image frames and theat least one facial descriptor from the previously captured images maycomprise aligning the at least one facial descriptor from the imageframes with the at least one facial descriptor from the previouslycaptured images.

In another embodiment, the method may further comprise evaluating aliveness of the user by requesting the user to perform a predeterminedmotion, recording a second video of the user while the user isperforming the predetermined motion, separating the second video into aplurality of second image frames, and performing a three-dimensional(3D) rendering of the second image frames. The predetermined motion maycomprise at least one of a predetermined head movement or apredetermined facial expression.

According to another embodiment of the present disclosure, a system forauthenticating a user is provided. The system may comprise at least oneprocessor and at least one memory storing instructions. The instructionsmay cause the processor to perform operations comprising receiving animage of a user of a device, identifying a facial descriptor of the userfrom the received image, identifying a facial descriptor of the userfrom a plurality of previously captured images of the user stored in thedevice, determining a difference between the facial descriptor from thereceived image and the facial descriptor from the previously capturedimages, cross-verifying the received image against a plurality of imagesof the user stored in a social networking profile of the user,cross-verifying the received image against a plurality of images of theuser stored in a social networking profile of a non-user, the socialnetworking profile of the non-user being associated with the socialnetworking profile of the user, and generating, based on at least thedetermined difference and the cross-verifications, a notificationindicative of whether the user in the received image is an authorizeduser.

Additional features and advantages of the embodiments of the presentdisclosure will be set forth in part in the description which follows,and in part will be obvious from the description, or may be learned bypractice of the embodiments of the present disclosure.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this present disclosure, illustrate disclosed embodiments of thepresent disclosure and, together with the description, serve to explainthe principles of the present disclosure. In the drawings:

FIG. 1 shows an exemplary schematic diagram of a system forauthenticating users, in accordance with embodiments of the presentdisclosure;

FIG. 2 shows an exemplary schematic diagram of a device used toauthenticate users, in accordance with embodiments of the presentdisclosure;

FIG. 3 shows an exemplary user device used to authenticate a user, inaccordance with embodiments of the present disclosure;

FIG. 4 shows another exemplary user device used to authenticate a user,in accordance with embodiments of the present disclosure;

FIG. 5 shows another exemplary user device used to authenticate a user,in accordance with embodiments of the present disclosure;

FIG. 6 shows another exemplary user device used to authenticate a user,in accordance with embodiments of the present disclosure;

FIG. 7 shows an exemplary process of authenticating a user, inaccordance with embodiments of the present disclosure;

FIG. 8 shows another exemplary process of authenticating a user, inaccordance with embodiments of the present disclosure;

FIG. 9 shows another exemplary process of authenticating a user, inaccordance with embodiments of the present disclosure; and

FIG. 10 shows an exemplary process of checking a liveness of the user,in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

Reference will now be made in detail to the disclosed embodiments,examples of which are illustrated in the accompanying drawings. Whereverconvenient, the same reference numbers will be used throughout thedrawings to refer to the same or like parts. The disclosed embodimentsinclude systems and methods for using images to authenticate a user. Itshould be appreciated, however, that the present disclosure is notlimited to these specific embodiments and details, which are exemplaryonly. It is further understood that one possessing ordinary skill in theart, in light of known systems and methods, would appreciate the use ofthe embodiments of the present disclosure for its intended purposes andbenefits in any number of alternative embodiments, depending on specificdesign and other needs. A financial institution and system supporting afinancial institution are used as examples for the disclosure. However,the disclosure is not intended to be limited to financial institutionsonly.

The embodiments of the present disclosure relate to systems and methodsfor applying facial recognition to acquired image(s) of the user,previously captured image(s) of the user, previously captured image(s)of non-user(s), image(s) stored in a social networking profile of theuser, and/or image(s) stored in social networking profile(s) ofnon-user(s) associated with the user. Based on facial descriptorsidentified in the images, via facial recognition, a notification may begenerated that is indicative of whether the user in the acquired imageis an authorized user.

Systems and methods according to the present disclosure may use imagesof the user in conjunction with the user’s social media account orprofile for authentication. Using the user’s social media account inconjunction with the images of the user may improve accuracy andreliability of authentication. For example, such systems and methods mayestablish trust between the device of the user and the user’s socialnetwork identity. In addition, such systems and methods may identify notonly the users but also non-users in the acquired or stored images. Thefaces of non-users may be identified in the images and matched tocorresponding social network profiles of the non-users. Thus, suchsystems and methods may provide an additional level of security, throughwhich the user’s identity can be cross-verified using social networkingprofiles of the user’s connections (non-users). Since a cloned socialnetworking profile is unlikely to have the same network of connectionsas the original social networking profile, the systems and methods inaccordance with the present disclosure will provide user protectionagainst fake users.

FIG. 1 depicts an exemplary system 100 for authenticating usersaccording to various embodiments of the disclosure. The system 100 isconfigured as a network-enabled computer systems and includes, asdepicted in FIG. 1 , for example, a user device 102, including agraphical user interface 103, a social networking site 104, a socialapplication programming interface (API) 105, database(s) 106,merchant(s) 107, a network 108, and a financial institution 109.

User device 102 may be any computer device, or communications deviceincluding, but not limited to, a server, a network appliance, a personalcomputer (PC), a workstation, a mobile device, a phone, a handheld PC, apersonal digital assistant (PDA), a thin client, a tablet computer, asmartphone, a fat client, an Internet browser, an ultra book, or otherdevice. User device 102 may also be a tablet computer. Non-limitingexamples of a tablet computer include an iPad, Kindle Fire, Playbook,Touchpad, and the like. User device 102 may be associated with anaccount holder having one or more financial accounts with financialinstitution 109. User device 102 may be associated with an accountholder having one or more social networking profiles with one or moresocial networking site(s) 104.

In various exemplary embodiments, an account holder may be any user orentity that desires to conduct a financial transaction using one or moreaccounts held at one or more financial account providers, such asfinancial institution 109. Also, an account holder may be a computersystem associated with or operated by such a user or entity. An accountmay include any place, location, object, entity, or other mechanism forholding money or performing transactions in any form, including, withoutlimitation, electronic form. An account may be, for example, a socialnetworking account, a credit card account, a prepaid card account,stored value card account, debit card account, check card account,payroll card account, gift card account, prepaid credit card account,charge card account, checking account, rewards account, line of creditaccount, credit account, mobile device account, or mobile commerceaccount. A social networking account may be unrelated to any financialaccount(s) or financial account providers. A financial account providermay be, for example, a bank, other type of financial account provider,including a credit card provider, for example, or any other entity thatoffers accounts to customers. An account may or may not have anassociated card, such as, for example, a credit card for a creditaccount or a debit card for a debit account. The account card may beassociated or affiliated with one or more social networking sites, suchas a co-branded credit card.

Graphical user interface (GUI) 103 may be displayed on user device 102.GUI 103 may access services provided by one or more processor(s) in userdevice 102. The services may include a social networking app. Userdevice 102 may access the social networking profile of the user usingthe GUI 103 provided by, for example, social networking site 104. Whenthe user first launches the social networking app on user device 102,GUI 103 may prompt the user to authenticate himself/herself. The usermay be prompted to provide a username and password for the user’s socialnetworking profile. The user may also be prompted to provideauthentication when accessing user device 102. For example, user device102 may be in a locked state, in which the user has no access toservices provided by one or more processor(s) in user device 102. Oncethe user is recognized as an authorized user, the user may be able toaccess the services, including the social networking app.

As used herein, social networking site 104 comprises a website thatallows a user to create an account and provide user-specificinformation, including interests, and network with other users based onsocial connections. Examples of social networking sites include, withoutlimitation, Facebook, Instagram, Google+, LinkedIn, Twitter, Pintrest,Yelp, Foursquare, or the like. Social networking site 104 may housesocial media profiles holding social media data for one or more accountholders, such as, for example, user name, user phone number, useraddress, user email address, user occupation, user location information,user photos or images, images in which the user is tagged, and/or otherinformation. A social networking profile of the user may be associatedwith one or more social networking profiles of other users(“non-users”). For example, social networking site 104 may allow theuser to accept or deny requests from other non-users to be connected onsocial networking site 104. Once the user accepts such a request fromother non-users, the social networking profiles of other non-users maybe associated with the social networking profile of the user. As such,other social networking profiles of other non-users associated with theuser may be displayed on the social networking profile of the user. Onceone or more social networking profiles are associated or connected insocial networking site 104, the user and other non-users may be able toshare and access information, such as images, videos, messages,recommendations, or the like, using their social networking profiles.

User device 102 is able to exchange data with social networking site 104via social application programming interface (API) 105. The user may usethe user device 102 to grant one or more processor(s) in user device 102permission to link to the user’s social networking profile on socialnetworking site 104 (for example, by providing a username and passwordassociated with the user’s social networking profile(s)). One or moreprocessor(s) in user device 102 may link to the user’s social networkingprofile(s) using one or more APIs, such as social API 105. Social API105 may allow certain data to be transmitted so that social networkingsite 104 can communicate with user device 102. Social API 105 mayprevent data other than approved data from being transmitted. Forexample, the API may only support user name, user e-mail address, useridentification information, user location information, user images,and/or user videos to be transmitted from social networking site 104 touser device 102.

Social API 105 may provide encryption and filtering functionality toprevent, for example, identity theft and fraudulent transactions. Forexample, social API 105 may filter out certain personally identifyinginformation, such as, social security numbers. Social API 105 may alsoencrypt, for example, account and routing numbers to ensure that anypassing account identifying data is secure during transmission andstorage.

System 100 also includes database(s) 106 which may include one or morememory devices that store information and are accessed through network108. By way of example, database 106 may include Oracle™ databases,Sybase™ databases, or other relational databases or non-relationaldatabases, such as Hadoop sequence files, HBase, or Cassandra. Database106 may include, for example, the user’s credentials, images taken bythe user, videos recorded by the user, social networking profiles of theuser, transaction history of the user, information related to one ormore items purchased or selected for purchase by the user, financialinformation related to one or more financial accounts of the user,and/or other information associated with the user, etc. Additionally oralternatively, the data stored in database 106 may take or representvarious forms including, but not limited to, images, video files,documents, presentations, spreadsheets, textual content, mapping andgeographic information, rating and review information, pricinginformation, address information, profile information, audio files, anda variety of other electronic data, or any combination thereof.

While database 106 is illustrating as being included in the system 100,it may alternatively be located remotely from system 100. Database 106may include computing components (e.g., database management system,database server, etc.) configured to receive and process requests fordata stored in memory devices of database 106 and to provide data fromdatabase 106.

Merchant(s) 107 may be an entity that offers goods, services, and/orinformation, such as a retailer (e.g., Macy’s^(®), Target^(®), etc.),grocery store, ride-sharing or transportation provider, service provider(e.g., utility company, etc.), or any other type of entity that offersgoods, services, and/or information that consumers (not shown) maypurchase, consume, use, etc. Merchant 107 may offer for sale one or moreproducts or one or more services. In one example, merchant 107 may beassociated with brick and mortar location(s) that a consumer mayphysically visit and purchase a product or service. Merchant 107 mayalso include back- and/or front-end computing components that store dataand execute software instructions to perform operations consistent withdisclosed embodiments, such as computers that are operated by employeesof the merchant (e.g., back office systems, etc.).

Merchant 107 may include point-of-sale terminals, tablets, personaldigital assistants, personal computers, laptop computers, desktopcomputers, smartphones, netbooks and/or other types of electronics orcommunication devices. In some exemplary embodiments, merchant 107 maycomprise one or more processor(s) configured to facilitate and/orperform transactions, for example, sale of one or more merchandise itemsto one or more customers in a store. One or more processor(s) associatedwith merchant 107 may prompt the user to provide authentication prior toproviding one or more goods or one or more services to the user.

In other exemplary embodiments, merchant 107 may include one or moreservers or other types of computer devices configured to executesoftware instructions stored in memory to perform one or more processesconsistent with the disclosed embodiments. For example, merchant 107 mayinclude one or more memory device(s) storing data and softwareinstructions and one or more processor(s) configured to use the data andexecute the software instructions to perform server-based functions andoperations known to those skilled in the art. Merchant 107 may includeserver(s) that are configured to execute stored software instructions toperform operations associated with merchant 107, including one or moreprocesses associated with processing purchase transactions, generatingtransaction data, generating product data (e.g., SKU data) relating topurchase transactions, etc.

Merchant 107 may include one or more servers that are, for example,mainframe computers, one or more web servers, one or more applicationservers, one or more database servers, or any combination of thesecomponents. In certain embodiments, merchant 107 may comprise aparticular apparatus, system, and the like based on the storage,execution, and/or implementation of the software instructions thatperform one or more operations consistent with the disclosedembodiments. A merchant server may be standalone, or it may be part of asubsystem, which is part of a larger system. For example, a merchantserver associated with the merchant 107 may represent distributedservers that are remotely located and communicate over a network (e.g.,network 108) or a dedicated network, such as a LAN. In certain aspects,merchant 107 may include one or more web servers that execute softwarethat generates, maintains, and provides web site(s) for a respectivemerchant 107 that is accessible over network 108. In other aspects,merchant 107 may connect separately to web server(s) or similarcomputing devices that generate, maintain, and provide web site(s) for amerchant.

The components depicted in system 100 may be coupled via one or morenetworks, such as, for example, network 108. Network 108 may be one ormore of a wireless network, a wired network or any combination ofwireless network and wired network. For example, network 108 may includeone or more of a fiber optics network, a passive optical network, acable network, an Internet network, a satellite network, a wireless LAN,a Global System for Mobile Communication (“GSM”), a PersonalCommunication Service (“PCS”), a Personal Area Network (“PAN”), DAMPS,Wi-Fi, Fixed Wireless Data, IEEE 802.11b, 802.15.1, 802.11n and 802.11 gor any other wired or wireless network for transmitting and receiving adata signal.

In addition, network 108 may include, but not be limited to, telephonelines, fiber optics, IEEE Ethernet 902.3, a wide area network (“WAN”), alocal area network (“LAN”), or a global network such as the Internet.Also network 108 may support an Internet network, a wirelesscommunication network, a cellular network, or the like, or anycombination thereof. Network 108 may further include one network, or anynumber of the exemplary types of networks mentioned above, operating asa stand-alone network or in cooperation with each other. Network 108 mayutilize one or more protocols of one or more network elements to whichthey are communicatively coupled. Network 108 may translate to or fromother protocols to one or more protocols of network devices. Althoughnetwork 108 is depicted as a single network, it should be appreciatedthat according to one or more embodiments, network 108 may comprise aplurality of interconnected networks, such as, for example, theInternet, a service provider’s network, a cable television network,corporate networks, and home networks.

Financial institution 109 may be an entity that provides financialservices. For example, financial institution 109 may be a bank, creditcard issuer, or other type of financial service entity that generates,provides, manages, and/or maintains financial service accounts for oneor more users. Financial service accounts may include, for example,credit card accounts, loan accounts, checking accounts, savingsaccounts, reward accounts, and any other types of financial serviceaccount known to those skilled in the art. Financial institution 109 mayinclude infrastructure and components that are configured to generateand provide financial service accounts such as credit card accounts,checking accounts, debit card accounts, lines of credit, and the like.

In one embodiment, financial institution 109 may include one or morecomputing systems that are configured to execute software instructionsstored on one or more memory devices to perform one or more operationsconsistent with the disclosed embodiments. In one embodiment, financialinstitution 109 may include a server (not shown). The server may be oneor more computing devices configured to execute software instructionsstored in memory to perform one or more processes consistent with thedisclosed embodiments. For example, the server may include one or morememory device(s) storing data and software instructions and one or moreprocessor(s) configured to use the data and execute the softwareinstructions to perform server-based functions and operations known tothose skilled in the art. The server may also be configured to executestored software instructions to perform social discovery serviceoperations consistent with the disclosed embodiments. The server may bea general purpose computer, a mainframe computer, or any combination ofthese components. In certain embodiments, the server may be configuredas a particular apparatus, system, and the like based on the storage,execution, and/or implementation of the software instructions thatperform one or more operations consistent with the disclosedembodiments. The server may be standalone, or it may be part of asubsystem, which may be part of a larger system. For example, the servermay represent distributed servers that are remotely located andcommunicate over a network (e.g., network 108) or a dedicated network,such as a LAN, for financial institution 109.

The server may include or may connect to one or more storage devicesconfigured to store data and/or software instructions used by one ormore processors of the server to perform operations consistent withdisclosed embodiments. For example, the server may include memoryconfigured to store one or more software programs that performs severalfunctions when executed by a processor. The disclosed embodiments arenot limited to separate programs or computers configured to performdedicated tasks. For example, the server may include memory that storesa single program or multiple programs. Additionally, the server mayexecute one or more programs located remotely from the server. Forexample, the server may access one or more remote programs stored inmemory included with a remote component that, when executed, performoperations consistent with the disclosed embodiments. In certainaspects, the server may include web server software that generates,maintains, and provides web site(s) that are accessible over network108. In other aspects, financial institution 109 may connect separateweb server(s) or similar computing devices that generate, maintain, andprovide web site(s) for financial institution 109.

FIG. 2 depicts an exemplary user device 102 for authenticating the user.As shown in FIG. 2 , device 102 includes one or more processor(s) 201for executing instructions. Device 102 also includes one or moreinput/output (I/O) devices 202. By way of example, I/O devices 202 mayinclude physical keyboards, virtual touch-screen keyboards, mice,joysticks, styluses, etc. In certain exemplary embodiments, I/O devicesmay include one or more sensors (not shown) for providing input to userdevice 102 using, for example, facial recognition, voice recognition,speech-to-text, voice command applications, and/or camera applications.In other exemplary embodiments, I/O devices may include a telephonekeypad and/or a keypad on a touch-screen for providing input to userdevice 102. In yet other exemplary embodiments, input may be provided touser device 102 in the form of images captured, videos recorded, orspoken information provided by a user associated with user device 102.

In addition, user device 102 includes one or more sensor(s) 203.Sensor(s) 203 may include one or more image sensors, one or more audiosensors, or any other types of sensors configured to capture images of auser or record videos of a user. For example, sensor(s) may include oneor more cameras. As further illustrated in FIG. 2 , user device 102includes memory 204 configured to store data or one or more instructionsand/or software programs that perform functions or operations whenexecuted by the one or more processors 201. By way of example, memory204 may include Random Access Memory (RAM) devices, NOR or NAND flashmemory devices, Read Only Memory (ROM) devices, etc. User device 102 mayalso include storage medium 206 configured to store data or one or moreinstructions and/or software programs that perform functions oroperations when executed by the one or more processors 201. By way ofexample, storage medium 206 may include hard drives, solid state drives,tape drives, RAID arrays, compact discs (CDs), digital video discs(DVDs), Blu-ray discs (BD), etc. Although FIG. 2 shows only one memory204 and one storage medium 206, user device 102 may include any numberof memories 204 and storage media 206. Further, although FIG. 2 showsmemory 204 and storage medium 206 as part of user device 102, memory 204and/or storage medium 206 may be located separately or remotely and userdevice 102 may be able to access memory 204 and/or storage medium 206via a wired or wireless connection (e.g., network 108).

User device 102 includes one or more displays 208 for displaying dataand information. Display 208 may be implemented using devices ortechnology, such as a cathode ray tube (CRT) display, a liquid crystaldisplay (LCD), a plasma display, a light emitting diode (LED) display, atouch screen type display, a projection system, and/or any other type ofdisplay known in the art.

User device 102 includes one or more communications interfaces 210.Communications interface 210 may allow software and/or data to betransferred between user device 102, database 106, social networkingsite 104, social API 105, merchant(s) 107, financial institution 109,and/or other components. Examples of communications interface 210 mayinclude a modem, a network interface (e.g., an Ethernet card or awireless network card), a communications port, a PCMCIA slot and card, acellular network card, etc. Communications interface 210 may transfersoftware and/or data in the form of signals, which may be electronic,electromagnetic, optical, or other signals capable of being transmittedand received by communications interface 210. Communications interface210 may transmit or receive these signals using wire, cable, fiberoptics, radio frequency (“RF”) link, Bluetooth link, and/or othercommunications channels.

User device 102 may include one or more databases 212. In someembodiments, one or more databases 212 may be located remotely from theuser device 102, and user device 102 may be configured to communicatewith one or more databases 212 via network 108. Database 212 may includeone or more logically and/or physically separate databases configured tostore data. The data stored in database 212 may be received from userdevice 102, social networking site 104, social API 105, merchant(s) 107,financial institution 109, and/or may be provided as input usingconventional methods (e.g., data entry, data transfer, data uploading,etc.).

Similar to database(s) 106, database(s) 212 may, for example, includeOracle™ databases, Sybase™ databases, or other relational databases ornon-relational databases, such as Hadoop sequence files, HBase, orCassandra. Database 212 may include, for example, the user’scredentials, images taken by the user, videos recorded by the user,social networking profiles of the user, transaction history of the user,information related to one or more items purchased or selected forpurchase by the user, financial information related to one or morefinancial accounts of the user, and/or other information associated withthe user, etc. Additionally or alternatively, the data stored indatabase 212 may take or represent various forms including, but notlimited to, images, video files, documents, presentations, spreadsheets,textual content, mapping and geographic information, rating and reviewinformation, pricing information, address information, profileinformation, audio files, and a variety of other electronic data, or anycombination thereof.

Whether included in user device 102 or located remotely from user device102, database 212 may include computing components (e.g., databasemanagement system, database server, etc.) configured to receive andprocess requests for data stored in memory devices of database 212 andto provide data from database 212.

In some embodiments, database 212 may be implemented using a singlecomputer-readable storage medium. In other embodiments, database 212 maybe maintained in a network attached storage device, in a storage areanetwork, or combinations thereof, etc. Furthermore, database 212 may bemaintained and queried using numerous types of database software andprogramming languages, for example, SQL, MySQL, IBM DB2®, MicrosoftAccess®, PERL, C/C++, Java®, etc.

FIG. 3 depicts an exemplary embodiment of user device 102 configured forauthenticating a user. In particular, FIG. 3 shows an exemplaryembodiment of GUI 103 on user device 102 for displaying a plurality ofpreviously captured images of the user that may be stored in variousphoto albums 302 a . . . n in the user device 102. For illustrativepurposes, albums 302 a . . . n are depicted as Album 1 ... Album 5. GUI103 may display the names of each photo album 302 a . . . n stored inthe user device 102 in a grid format. The user may select each of photoalbums 302 a . . . n in order to access all of the images or videosstored in each of albums 302 a . . . n. Photo albums 302 a . . . n maybe displayed in chronological order of when the user captured the mostrecent image or when the user recorded the most recent video. In thisexample, the most recent image captured or video recorded was stored inAlbum 1.

As will be discussed more in detail below, one or more processor(s) 201of user device 102 may access a plurality of images previously capturedand stored in albums 302 a . . . n. One or more processor(s) 201 may beconfigured to process, analyze, and evaluate the images stored in userdevice 102 in order to authenticate the user. For example, one or moreprocessor(s) 201 may apply a facial recognition algorithm to the imagesstored in user device 102 and match a newly acquired image of the userwith the images stored in user device 102 to determine whether the useris authorized or not.

FIG. 4 shows another exemplary embodiment of user device 102 configuredfor authenticating a user. In particular, FIG. 4 shows another exemplaryembodiment of GUI 103 displayed on user device 102. GUI 103 in FIG. 4may display one or more social networking application icons 402 a . . .n. The user may be able to link and access data stored in the user’ssocial networking profile(s) on user device 102. For example, one ormore processor(s) 201 in user device 102 may link to the user’s socialnetworking profile(s) at one or more social networking site(s) 104 usingone or more APIs, such as social API 105. As such, the user may be ableto access the user’s social networking profile(s) by touching socialnetworking application icons 402 a . . . n. Once the user links thesocial networking profile(s) in user device 102, one or moreprocessor(s) 201 may be able to access and retrieve data from the socialnetworking profile(s). As discussed above, the social networkingprofile(s) at one or more social networking site(s) 104 of the user mayhouse social media profiles holding social media data for one or moreaccount holders, such as, for example, user name, user phone number,user address, user email address, user occupation, user locationinformation, user photos or images, images or photos in which the useris tagged, and/or other information. The social networking profile ofthe user may be associated with one or more social networking profilesof other users (“non-users”). For example, social networking site 104may allow the user to accept or deny requests from other non-users to beconnected on social networking site 104. Once the user accepts therequest from other non-users, the social networking profiles of othernon-users may be associated with the social networking profile of theuser. As such, other social networking profiles of other non-usersassociated with the user may be displayed on the social networkingprofile of the user. Once one or more social networking profiles areassociated or connected in social networking site 104, the user andother non-users may be able to share and access information, such asimages, videos, messages, recommendations, or the like, using theirsocial networking profiles.

FIG. 5 shows another exemplary embodiment of user device 102 configuredfor authenticating a user. In particular, FIG. 5 shows another exemplaryembodiment of GUI 103 displayed on user device 102. As discussed above,the user may be able to link the user’s social networking profile(s) touser device 102 and be able to access the user’s social networkingprofile(s) by touching social networking application icons 402 a . . . nin FIG. 4 . Once the user accesses the user’s social networking profileon user device 102 (i.e. by providing username, password, and/or othercredentials associated with the user’s social networking profile), GUI103 may display data associated with the user’s social networkingprofile. By way of example, GUI 103 may display the user’s picture 504,the user’s name, and various activatable icons 508. While activatableicons 508 are displayed as buttons in FIG. 5 , icons 508 may compriseother GUI elements, for example, windows, menus, drop-down lists,controls, text boxes, scroll bars, sliders, or any other GUI elementswell-known in the art. The user associated with the device may activate,manipulate, select, or provide input by clicking, tapping, manipulating,and/or entering data in one or more GUI elements of GUI 103 using one ormore I/O devices 202. In this example, GUI 103 may display activatableicons 508 for accessing the user’s network (i.e., connections, friends,etc.), user’s messages, and user’s pictures. For example, if the useractivates one of the icons 508 to access the user’s pictures, then GUI103 may display all of the images stored in the user’s social networkingprofile. The images stored in the user’s social networking profile maybe images of the user, images of the user’s connections (“non-users”),and/or any combination thereof. GUI 103 may also display activatableicons 508 for accessing the user’s videos, privacy settings, accountsettings, and/or other data associated with the user’s social networkingprofile.

According to FIG. 5 , the user may select to view the user’s network. Assuch, GUI 103 may display a title 506 of icon 508 selected by the user.GUI 103 may further display a list of social networking profiles ofnon-users 502 a . . . n that are associated with the social networkingprofile of the user. The social networking profiles of non-users 502 a .. . n may be activatable by the user. That is, the user may be able toactivate, manipulate, or select one or more of the social networkingprofiles of non-users 502 a . . . n by clicking, tapping, manipulating,and/or entering data in one or more GUI elements of GUI 103 using one ormore I/O devices 202. The social networking profiles of non-users 502 a. . . n may be associated with the social networking profile of the userby consent. That is, non-users may not be able to automaticallyassociate their social networking profiles with the social networkingprofile of the user. Rather, non-users must send a request to associatetheir social networking profiles with the social networking profile ofthe user. Once the request is accepted by the user, the socialnetworking profiles of non-users may be associated with the socialnetworking profile of the user. Alternatively, the user may send arequest to another non-user in order to associate the user’s socialnetworking profile with social networking profiles of non-users. Oncesocial networking profiles are associated, data from the socialnetworking profiles may be shared with one another via the social API105. In FIG. 5 , the user’s social networking profile is associated withsocial networking profiles of non-users 502 a . . . n in the user’snetwork. As such, the user may be able to access data from each of thesocial networking profiles of non-users 502 a . . . n. For example, theuser may be able to access images and videos stored in each of thesocial networking profiles of non-users 502 a . . . n. That is, one ormore processor(s) 201 of user device 102 may be able to access imagesand videos stored in each of the social networking profiles of non-users502 a . . . n associated with each of the user’s social networkingprofiles. If the user has multiple social networking profiles atmultiple social networking sites 104, one or more processor(s) 201 ofuser device 102 may be able to access images and videos stored in eachof the social networking profiles of non-users associated with each ofthe multiple social networking profiles. One or more processor(s) 201may also store the images and videos in database 212.

By way of example, social API 105 may provide encryption and filteringfunctionality to prevent, for example, identity theft and fraudulenttransactions. For example, social API 105 may filter out personallyidentifying information that is unnecessary, such as, social securitynumbers. Social API 105 may also encrypt, for example, account androuting numbers to ensure that any account identifying data is secureduring transmission and storage.

FIG. 6 shows another exemplary embodiment of user device 102 configuredfor authenticating a user. In particular, FIG. 6 shows another exemplaryembodiment of GUI 103 displayed on user device 102. As discussed above,the user may activate, manipulate, or select the social networkingprofile of “Friend 1” by clicking, tapping, manipulating, and/orentering data in one or more GUI elements of GUI 103 using one or moreI/O devices 202. As such, once the user activates, manipulates, orselects the social networking profile of “Friend 1,” the user may beable to access data associated with the social networking profile of“Friend 1.”

According to FIG. 6 , the user may access images stored in the socialnetworking profile of “Friend 1.” As such, GUI 103 may display a title604 of the type of data accessed by the user. GUI 103 may furtherdisplay image 602 of “Friend 1” associated with the social networkingprofile. GUI 103 may also display the name of “Friend 1.” If, forexample, the user requests to access images stored in the socialnetworking profile of “Friend 1,” GUI 103 may display a plurality ofpreviously captured images stored in various photo albums 606 a . . . nin the social networking profile of “Friend 1.” GUI 103 may display thenames of each photo album 606 a . . . n stored in the social networkingprofile of “Friend 1” in a grid format as, for example, Album 1.. . .Album 4. The user may select each of the photo albums 606 a . . . n inorder to access all of the images or videos stored in each of the albums606 a . . . n. The photo albums 606 a . . . n may be displayed inchronological order of when “Friend 1” captured the most recent image orwhen “Friend 1” recorded the most recent video. In this example, themost recent image captured or video recorded was stored in Album 1.Images stored in the social networking profile of “Friend 1”, by way ofexample, may include images of “Friend 1” (non-user), images of theuser, and/or any combination thereof.

As will be discussed below, one or more processor(s) 201 of the userdevice 102 may access a plurality of images previously captured andstored in the albums 606 a . . . n. One or more processor(s) 201 may beconfigured to process, analyze, and evaluate the images stored in socialnetworking profiles of non-users associated with the social networkingprofile of the user in order to authenticate the user. For example, oneor more processor(s) 201 may apply a facial recognition algorithm to theimages stored in social networking profiles of non-users to determinewhether the user is authorized or not. For example, one or moreprocessor(s) 201 may apply a facial recognition algorithm to imagesstored in albums 606 a . . . n in order to determine whether the user isan authorized user.

FIG. 7 is a flow chart illustrating an exemplary method 700 forauthenticating a user. Method 700 shown in FIG. 7 can be executed orotherwise performed by one or more combinations of various systems.Method 700 as described below may be carried out by the system forauthenticating a user, as shown in FIG. 1 , by way of example, andvarious elements of that system are referenced in explaining method 700.Each block shown in FIG. 7 represents one or more processes, methods, orsubroutines in exemplary method 700. Referring to FIG. 7 , exemplarymethod 700 begins at block 701.

At block 701, one or more processor(s) 201 of user device 102 receive animage of the user. The image of the user may be received in response toa request for user authentication received by one or more processor(s)201. For example, one or more processor(s) 201 may receive a request foruser authentication when the user is attempting to unlock user device102 to access data stored in user device 102, when the user is making apurchase transaction with merchant 107, when the user is accessingsocial networking site 104, when the user is making a payment withfinancial institution 109, and/or any combination thereof. Once one ormore processor(s) 201 receive a request for user authentication, one ormore processor(s) 201 may prompt the user to capture an image of theuser or, alternatively, record a video of the user. In response toprompting the user to capture an image of the user or record a video ofthe user, one or more processor(s) 201 may activate one or moresensor(s) 203 such that the user may capture an image or record a videousing sensor(s) 203. Additionally or alternatively, one or moreprocessor(s) 201 may prompt the user to input user credential associatedwith user device 102 or stored in memory 204 and/or storage medium 206of user device 102 via one or more I/O devices 202.

At block 701, one or more processor(s) 201 prompt the user to capturethe image of the user, and thus, receive the image of the user. Once oneor more processor(s) 201 receive the image of the user, method 700proceeds to block 702. At block 702, one or more processor(s) 201 mayidentify a first facial descriptor of the user from the received imageand identify the first facial descriptor of the user from one or morepreviously captured images of the user stored in memory 204, storagemedium 206, and/or database 212 of user device 102. The first facialdescriptor of the user may comprise one or more facial components of theuser, such as a nose of the user, eye(s) of the user, a mouth of theuser, eyebrow(s) of the user, a chin of the user, overall shape of theuser’s face, orientation of the user’s face, distribution of facialstructures, and/or any combination thereof. In order to identify thefirst facial descriptor of the user, one or more processor(s) 201 mayapply a facial recognition algorithm to the received image and/orpreviously captured images of the user stored in user device 102. By wayof example, one or more processor(s) 201 may be configured to apply afacial recognition algorithm that analyzes variation in the images, suchas pixel variations, color variations, orientation variations, etc. Inone exemplary embodiment, a color histogram of the user’s face in thereceived image may be generated in addition to color histograms of theuser’s faces in previously captured images stored in user device 102.Based on the color histogram, one or more processor(s) 201 may beconfigured to determine facial descriptors of the user. In anotherembodiment, one or more processor(s) 201 may be configured to apply afacial recognition algorithm that uses machine-learning algorithms, suchas decision tree learning, deep learning, rule-based machine learning,Bayesian networks, etc. In one embodiment, one or more processor(s) 201may be configured to apply deep learning algorithms to provide computervision, process and analyze the images, and identify the first facialdescriptor of the user.

Once the first facial descriptor of the user is identified in thereceived image and in the previously captured images stored in userdevice 102, method 700 proceeds to block 703. At block 703, one or moreprocessor(s) 201 may determine a difference between the first facialdescriptor identified in the received image and the first facialdescriptor identified in the previously captured images stored in userdevice 102. For example, one or more processor(s) 201 may determine adifference between the first facial descriptor identified in thereceived image and the first facial descriptor identified in the imagesstored in albums 302 a . . . n of user device 102.

In order to determine a difference between the first facial descriptorfrom the received image and that from the previously captured imagesstored in user device 102, one or more processor(s) 201 may generatecolor histograms of the images. By way of example, one or moreprocessor(s) 201 may generate a color histogram of the received image toidentify the first facial descriptor. One or more processor(s) 201 mayfurther generate color histograms of the previously captured imagesstored in user device 102. Then, one or more processor(s) 201 comparethe color histogram of the received image to the color histograms of thepreviously captured images in order to match the color histogram of thereceived image to the color histograms of the previously capturedimages. Based on the comparison of the color histograms, one or moreprocessor(s) 201 determine a difference between the first facialdescriptor from the received image and the first facial descriptor fromthe previously captured images stored in user device 102. For example,one or more processor(s) 201 may calculate a ratio or percentage offirst facial descriptors from previously captured images stored in userdevice 102 that did not match with the first facial descriptor from thereceived image. If the ratio or percentage calculated is lower than apredetermined threshold, one or more processor(s) 201 determine that thereceived image matches the previously captured images of the user storedin user device 102. The predetermined threshold may vary based on thelevel of security required, riskiness of authentication, riskiness oftransaction, or the like. For example, if the user is requestingauthentication to make a financial transaction with financialinstitution 109 (e.g., paying a credit card balance), the level ofsecurity and/or riskiness of the transaction will be higher than if theuser is requesting authentication to unlock a device. Therefore, thepredetermined threshold may be varied such that it becomes moredifficult for one or more processor(s) 201 to authenticate the user.

Additionally or alternatively, one or more processor(s) 201 may alignthe received image with the previously captured images of the userstored in user device 102 in order to determine a difference between thefirst facial descriptor from the received image and the first facialdescriptor from the previously captured images of the user. Moreparticularly, one or more processor(s) 201 may proceed to align thefirst facial descriptor from the received image with the first facialdescriptor identified in previously captured images of the user. Forexample, orientation of the images may be adjusted in order to align thefirst facial descriptor from the received image with the first facialdescriptor identified in previously captured images of the user. One ormore processor(s) 201 may assign a numerical value based on thealignment. For example, one or more processor(s) 201 may assign a valueof 5 (on a scale of 0 to 100) if the first facial descriptor from thereceived image aligns very closely with the first facial descriptoridentified in previously captured images of the user. Alternatively, oneor more processor(s) 201 may assign a value of 90 if the first facialdescriptor from the received image does not align closely with the firstfacial descriptor identified in previously captured images of the user.If the value assigned is lower than a predetermined threshold (meaningthe difference between the received image and the previously capturedimages is below the predetermined threshold), one or more processor(s)201 determine that the user is an authorized user based on thealignment.

Method 700 further proceeds to block 704, at which one or moreprocessor(s) 201 identify a second facial descriptor of a non-user fromthe previously captured images. For example, one or more processor(s)201 may apply a facial recognition algorithm to identify a second facialdescriptor of people in the images other than the user (“non-users”). Asdiscussed above, the second facial descriptor of non-users may compriseone or more facial components of non-users, such as nose, eye(s),mouth(s), eyebrow(s), chin, overall shape of the face, orientation ofthe face, distribution of facial structures, and/or any combinationthereof. In order to identify the second facial descriptor of one ormore non-users, one or more processor(s) 201 may apply a facialrecognition algorithm to the previously captured images stored in userdevice 102. By way of example, one or more processor(s) 201 may beconfigured to apply a facial recognition algorithm that analyzesvariation in the images, such as pixel variations, color variations,orientation variations, etc. In one exemplary embodiment, a colorhistogram of non-users’ faces in the received image may be generated inaddition to color histograms of non-users’ faces in previously capturedimages stored in user device 102. Based on the color histogramsgenerated, one or more processor(s) 201 may be configured to determinesecond facial descriptors of non-users in the previously captured imagesstored in user device 102. In another embodiment, one or moreprocessor(s) 201 may be configured to apply a facial recognitionalgorithm that uses machine-learning algorithms, such as decision treelearning, deep learning, rule-based machine learning, Bayesian networks,etc. In one embodiment, one or more processor(s) 201 may be configuredto apply deep learning algorithms to provide computer vision, processand analyze the images, and identify the second facial descriptors ofnon-users.

Once second facial descriptors of non-users other than the user aredetermined, method 700 proceeds to block 705. At block 705, one or moreprocessor(s) 201 may identify the second facial descriptors from imagesstored in social networking profiles of non-users 502 a . . . n (in FIG.5 ) associated with the social networking profile(s) of the user.Similarly, one or more processor(s) 201 may apply a facial recognitionalgorithm to some or all of images in albums 606 a . . . n stored insocial networking profiles of non-users 502 a . . . n associated withthe social networking profile(s) of the user. By way of example, one ormore processor(s) 201 may be configured to apply a facial recognitionalgorithm that analyzes variation in the images, such as pixelvariations, color variations, orientation variations, etc. In oneexemplary embodiment, a color histogram of non-users’ faces in images inalbums 606 a . . . n may be generated. Based on the color histogramsgenerated, one or more processor(s) 201 may be configured to determinesecond facial descriptors of non-users in images in albums 606 a . . .n. In another embodiment, one or more processor(s) 201 may be configuredto apply a facial recognition algorithm that uses machine-learningalgorithms, such as decision tree learning, deep learning, rule-basedmachine learning, Bayesian networks, etc. In one embodiment, one or moreprocessor(s) 201 may be configured to apply deep learning algorithms toprovide computer vision, process and analyze the images, and identifythe second facial descriptors of non-users in the images in albums 606 a. . . n.

One or more processor(s) 201 may determine a difference between thesecond facial descriptor of non-users identified in the previouslycaptured images in albums 302 a . . . n stored in the user device to thesecond facial descriptors of non-users identified in images in albums606 a . . . n stored in social networking profiles of non-users 502 a .. . n associated with the social networking profile of the user. Forexample, one or more processor(s) 201 may determine a difference betweenthe first facial descriptor identified in the received image and thefirst facial descriptor identified in the images stored in albums 302 a. . . n of user device 102.

In order to determine a difference between the second facial descriptorfrom the previously captured images in albums 302 a . . . n and thatfrom images in albums 606 a . . . n stored in social networking profilesof non-users 502 a . . .n, one or more processor(s) 201 may generatecolor histograms of the images. By way of example, one or moreprocessor(s) 201 may generate color histograms of previously capturedimages in albums 302 a . . . n to identify the second facial descriptorof non-users other than the user. One or more processor(s) 201 mayfurther generate color histograms of images in albums 606 a . . . nstored in social networking profiles of non-users 502 a . . . nassociated with the social networking profile of the user. Then, one ormore processor(s) 201 may compare the color histograms in order to matchthe color histograms of the previously captured images of non-users 502a . . . n to the color histograms of the images in albums 606 a . . . nstored in social networking profiles of non-users 502 a . . . nassociated with the social networking profile of the user. Based on thecomparison of the color histograms, one or more processor(s) 201 maydetermine a difference between the second facial descriptor from thepreviously captured images and the second facial descriptor from theimages stored in social networking profiles of non-users associated withthe social networking profile of the user. For example, one or moreprocessor(s) 201 may be able to calculate a ratio or percentage ofsecond facial descriptors from previously captured images stored in userdevice 102 that did not match with the second facial descriptor from theimages stored in social networking profiles of non-users associated withthe social networking profile of the user. While generating colorhistograms is discussed, the second facial descriptor may be identifiedby use of other facial recognition algorithms, such as by aligning theimages as discussed above.

As such, one or more processor(s) 201 may be able to compare images ofthe user’s friends, connections, etc. in the user’s previously capturedimage stored in user device 102 to images of the user’s friends,connections, etc. in their social networking profiles associated withthe social networking profile of the user. By doing so, one or moreprocessor(s) 201 can provide a second level of security for userauthentication. For example, a cloned social networking profile may nothave the same friends, connections, etc. as the original socialnetworking profile of the user. By comparing images of user’s friendsand/or connections stored in user device 102 to the images stored in theuser’s friends’ and connections’ social networking profiles, one or moreprocessor(s) 201 can evaluate whether the user is indeed an authorizeduser.

Once the first facial descriptor and the second facial descriptor areidentified, method 700 proceeds to block 706. At block 706, one or moreprocessor(s) 201 generate a notification indicative of whether the userin the received image is an authorized user. One or more processor(s)201 may determine whether the user is an authorized user based on thefirst facial descriptor identified in the received image, the firstfacial descriptor identified in the previously captured images, thesecond facial descriptor identified in the previously captured images,the second facial descriptor identified in images stored in one or moresocial networking profiles of non-users associated with the socialnetworking profile of the user, the difference between the first facialdescriptor from the received image and the first facial descriptor fromthe previously captured image, and/or the difference between the secondfacial descriptor from previously captured images and the second facialdescriptor from images stored in one or more social networking profilesof non-users associated with the social networking profile of the user.For example, a notification that the user is an authorized user may begenerated when the difference between the first facial descriptor fromthe previously captured images and the first facial descriptor from thereceived image is lower than a predetermined threshold. Additionally oralternatively, the difference between the first facial descriptor fromthe received image and the first facial descriptor from the previouslycaptured images is weighted higher than the identified second facialdescriptor to determine whether the user is an authorized user.

Generating the notification that the user is an authorized user maycomprise enabling the user to perform a financial transaction withfinancial institution 109, unlocking user device 102, enabling the userto access contents stored in user device 102, enabling the user toperform a purchase transaction with merchant 107, accessing one or moresocial networking site(s) 104, or any combination thereof. Additionallyor alternatively, the notification generated may be a visualnotification that is prompted to the user via GUI 103 of the user device102 or an audible notification.

FIG. 8 is a flow chart illustrating another exemplary method 800 forauthenticating a user. Method 800 shown in FIG. 8 can be executed orotherwise performed by one or more combinations of various systems.Method 800 as described below may be carried out by the system forauthenticating a user, as shown in FIG. 1 , by way of example, andvarious elements of that system are referenced in explaining method 800.Each block shown in FIG. 8 represents one or more processes, methods, orsubroutines in the exemplary method 800. Referring to FIG. 8 , exemplarymethod 800 begins at block 801.

At block 801, one or more processor(s) 201 of user device 102 receive avideo of the user. The video of the user may be received in response toa request for user authentication received by one or more processor(s)201. For example, one or more processor(s) 201 may receive a request foruser authentication when the user is attempting to unlock user device102 to access data stored in user device 102, when the user is accessingsocial networking site 104, when the user is making a purchasetransaction with merchant 107, when the user is making a payment withfinancial institution 109, and/or any combination thereof. Once one ormore processor(s) 201 receive a request for user authentication, one ormore processor(s) 201 prompt the user to record a video. In response toprompting the user to record a video of the user, one or moreprocessor(s) 201 may activate one or more sensor(s) 203 such that theuser can record a video using sensor(s) 203. Additionally oralternatively, one or more processor(s) 201 may prompt the user to inputuser credential associated with user device 102 or stored in memory 204and/or storage medium 206 of the user device 102 via one or more I/Odevices 202.

Once one or more processor(s) 201 received a video of the user, method800 proceeds to block 802. At block 802, one or more processor(s) 201separate the video into one or more image frames. For example, one ormore processor(s) 201 may be configured to process the recorded video ofthe user in order to separate the video into a plurality of frames ofimages captured. As such, one or more processor(s) 201 may be configuredto analyze each of the plurality of frames separately to observe anychanges of facial descriptor(s) of interest. In some embodiments, one ormore processor(s) 201 may be configured to selectively choose apredetermined number of frames to be analyzed instead of analyzing eachof the frames, in order to increase efficiency. The number of framesselectively chosen for analysis may be based on various parameters,including, for example, level of security required, riskiness oftransaction, riskiness of authentication, and/or the like.

Once the received video is separated into one or more image frames,method 800 proceeds to block 803. At block 803, one or more processor(s)201 identify a first facial descriptor of the user from the image framesand identify the first facial descriptor of the user from one or morepreviously captured images of the user stored in memory 204, storagemedium 206, and/or database 212 of user device 102. The first facialdescriptor of the user may comprise one or more facial components of theuser, such as a nose of the user, eye(s) of the user, a mouth of theuser, eyebrow(s) of the user, a chin of the user, overall shape of theuser’s face, orientation of the user’s face, distribution of facialstructures, and/or any combination thereof. In order to identify thefirst facial descriptor of the user, one or more processor(s) 201 mayapply a facial recognition algorithm to the image frames and/orpreviously captured images of the user stored in user device 102. By wayof example, one or more processor(s) 201 may be configured to apply afacial recognition algorithm that analyzes variation in the images, suchas pixel variations, color variations, orientation variations, etc. Inone exemplary embodiment, a color histogram of the user’s face in theimage frames may be generated in addition to color histograms of theuser’s faces in previously captured images stored in user device 102.Based on the color histogram, one or more processor(s) 201 may beconfigured to determine facial descriptors of the user. In anotherembodiment, one or more processor(s) 201 may be configured to apply afacial recognition algorithm that uses machine-learning algorithms, suchas decision tree learning, deep learning, rule-based machine learning,Bayesian networks, etc. In one embodiment, one or more processor(s) 201may be configured to apply deep learning algorithms to provide computervision, process and analyze the images, and identify the first facialdescriptor of the user.

Once the first facial descriptor of the user is identified in the imageframes and in the previously captured images stored in user device 102,method 800 proceeds to block 804. At block 804, one or more processor(s)201 determine a difference between the first facial descriptoridentified in the image frames and the first facial descriptoridentified in the previously captured images stored in user device 102.For example, one or more processor(s) 201 may determine a differencebetween the first facial descriptor identified in the image frames andthe first facial descriptor identified in the images stored in albums302 a . . . n of user device 102.

In order to determine a difference between the first facial descriptorfrom the image frames and that from the previously captured imagesstored in the user device 102, one or more processor(s) 201 may generatecolor histograms of the images. By way of example, one or moreprocessor(s) 201 may generate color histograms of the image frames toidentify the first facial descriptor. One or more processor(s) 201 mayfurther generate color histograms of the previously captured imagesstored in user device 102. Then, one or more processor(s) 201 maycompare color histograms of the image frames to the color histograms ofthe previously captured images in order to match color histograms of theimage frames to the color histograms of the previously captured images.Based on the comparison of the color histograms, one or moreprocessor(s) 201 may determine a difference between the first facialdescriptor from the image frames and the first facial descriptor fromthe previously captured images stored in user device 102. For example,one or more processor(s) 201 may be able to calculate a ratio orpercentage of first facial descriptors from previously captured imagesstored in user device 102 that did not match with the first facialdescriptor from the image frames. If the ratio or percentage calculatedis lower than a predetermined threshold, one or more processor(s) 201may determine that the image frames from the received video match thepreviously captured images of the user stored in user device 102. Thepredetermined threshold may vary based on the level of securityrequired, riskiness of authentication, riskiness of transaction, or thelike. For example, if the user is requesting authentication to make afinancial transaction with financial institution 109 (e.g., paying acredit card balance), the level of security and/or riskiness of thetransaction will be higher than if the user is requesting authenticationto unlock a device. Therefore, the predetermined threshold may be variedsuch that it becomes more difficult for one or more processor(s) 201 toauthenticate the user.

Additionally or alternatively, one or more processor(s) 201 may alignthe image frames from the received video with the previously capturedimages of the user stored in user device 102 in order to determine adifference between the first facial descriptor from the image frames andthe first facial descriptor from the previously captured images of theuser. By way of example, one or more processor(s) 201 may apply a facialrecognition algorithm to the image frames and identify the first facialdescriptor of the user. Then, one or more processor(s) 201 may apply thefacial recognition algorithm to previously captured images of the userstored in user device 102 to identify the first facial descriptor of theuser from the previously captured images. One or more processor(s) 201may proceed to align the first facial descriptor from the image frameswith the first facial descriptor identified in previously capturedimages of the user. For example, orientation of the images may beadjusted in order to align the first facial descriptor from the imageframes with the first facial descriptor identified in previouslycaptured images of the user. One or more processor(s) 201 may thenassign a numerical value based on the alignment. For example, one ormore processor(s) 201 may assign a value of 5 (on a scale of 0 to 100)if the first facial descriptor from the image frames aligns very closelywith the first facial descriptor identified in previously capturedimages of the user. Alternatively, one or more processor(s) 201 mayassign a value of 90 if the first facial descriptor from the imageframes does not align closely with the first facial descriptoridentified in previously captured images of the user. If the valueassigned is lower than a predetermined threshold (meaning the differencebetween the image frames and the previously captured images is below apredetermined threshold), one or more processor(s) 201 determine thatthe user is an authorized user based on the alignment.

Method 800 further proceeds to block 805, at which one or moreprocessor(s) 201 identify a second facial descriptor of a non-user fromthe previously captured images. For example, one or more processor(s)201 may apply a facial recognition algorithm to identify a second facialdescriptor of people in the image other than the user (“non-users”). Asdiscussed above, the second facial descriptor of non-users may compriseone or more facial components of non-users, such as nose, eye(s),mouth(s), eyebrow(s), chin, overall shape of the face, orientation ofthe face, distribution of facial structures, and/or any combinationthereof. In order to identify the second facial descriptor of one ormore non-users, one or more processor(s) 201 may apply a facialrecognition algorithm to the previously captured images stored in userdevice 102. By way of example, one or more processor(s) 201 may beconfigured to apply a facial recognition algorithm that analyzesvariation in the images, such as pixel variations, color variations,orientation variations, etc. In one exemplary embodiment, a colorhistogram of non-users’ faces in the received image may be generated inaddition to color histograms of non-users’ faces in previously capturedimages stored in user device 102. Based on the color histogramsgenerated, one or more processor(s) 201 may be configured to determinesecond facial descriptors of non-users in the previously captured imagesstored in user device 102. In another embodiment, one or moreprocessor(s) 201 may be configured to apply a facial recognitionalgorithm that uses machine-learning algorithms, such as decision treelearning, deep learning, rule-based machine learning, Bayesian networks,etc. In one embodiment, one or more processor(s) 201 may be configuredto apply deep learning algorithms to provide computer vision, processand analyze the images, and identify the second facial descriptors ofnon-users.

Once second facial descriptors of non-users other than the user aredetermined, method 800 proceeds to block 806. At block 806, one or moreprocessor(s) 201 identify the second facial descriptors from imagesstored in social networking profiles of non-users 502 a . . . n (in FIG.5 ) associated with the social networking profile(s) of the user.Similarly, one or more processor(s) 201 may apply a facial recognitionalgorithm to some or all of the images in albums 606 a . . . n stored insocial networking profiles of non-users 502 a . . . n associated withthe social networking profile(s) of the user. By way of example, one ormore processor(s) 201 may be configured to apply a facial recognitionalgorithm that analyzes variation in the images, such as pixelvariations, color variations, orientation variations, etc. In oneexemplary embodiment, a color histogram of non-users’ faces in theimages in albums 606 a . . . n may be generated. Based on the colorhistograms generated, one or more processor(s) 201 may be configured todetermine second facial descriptors of non-users in the images in albums606 a . . . n. In another embodiment, one or more processor(s) 201 maybe configured to apply a facial recognition algorithm that usesmachine-learning algorithms, such as decision tree learning, deeplearning, rule-based machine learning, Bayesian networks, etc. In oneembodiment, one or more processor(s) 201 may be configured to apply deeplearning algorithms to provide computer vision, process and analyze theimages, and identify the second facial descriptors of non-users in theimages in albums 606 a . . . n.

One or more processor(s) 201 may determine a difference between thesecond facial descriptor of non-users identified in the previouslycaptured images in albums 302 a . . . n stored in the user device to thesecond facial descriptors of non-users identified in the images inalbums 606 a . . . n stored in social networking profiles of non-users502 a . . . n associated with the social networking profile of the user.For example, one or more processor(s) 201 may determine a differencebetween the first facial descriptor identified in the received image andthe first facial descriptor identified in the images stored in albums302 a . . . n of user device 102.

In order to determine a difference between the second facial descriptorfrom the previously captured images in albums 302 a . . . n and thatfrom images in albums 606 a . . . n stored in social networking profilesof non-users 502 a . . .n, one or more processor(s) 201 may generatecolor histograms of the images. By way of example, one or moreprocessor(s) 201 may generate color histograms of previously capturedimages in albums 302 a . . . n to identify the second facial descriptorof non-users other than the user. One or more processor(s) 201 mayfurther generate color histograms of images in albums 606 a . . . nstored in social networking profiles of non-users 502 a . . . nassociated with the social networking profile of the user. Then, one ormore processor(s) 201 may compare the color histograms in order to matchthe color histograms of the previously captured images 502 a . . . n tothe color histograms of the images in albums 606 a . . . n stored insocial networking profiles of non-users 502 a . . . n associated withthe social networking profile of the user. Based on the comparison ofthe color histograms, one or more processor(s) 201 may determine adifference between the second facial descriptor from the previouslycaptured images and the second facial descriptor from the images storedin social networking profiles of non-users associated with the socialnetworking profile of the user. For example, one or more processor(s)201 may be able to calculate a ratio or percentage of second facialdescriptors from previously captured images stored in user device 102that did not match with the second facial descriptor from the imagesstored in social networking profiles of non-users associated with thesocial networking profile of the user. While generating color histogramsis discussed, the second facial descriptor may be identified by use ofother facial recognition algorithms, such as by aligning the images asdiscussed above.

As such, one or more processor(s) 201 may be able to compare images ofthe user’s friends, connections, etc. in the user’s previously capturedimage stored in user device 102 to images of the user’s friends,connections, etc. in their social networking profiles associated withthe social networking profile of the user. By doing so, one or moreprocessor(s) 201 can provide a second level of security for userauthentication. For example, a cloned social networking profile may nothave the same friends, connections, etc. as the original socialnetworking profile of the user. By comparing images of user’s friendsand/or connections stored in user device 102 to the images stored in theuser’s friends’ and connections’ social networking profiles, one or moreprocessor(s) 201 can evaluate whether the user is indeed an authorizeduser.

Once the first facial descriptor and the second facial descriptor areidentified, method 800 proceeds to block 807. At block 807, one or moreprocessor(s) 201 generate a notification indicative of whether the userin the received video is an authorized user. One or more processor(s)201 may determine whether the user is an authorized user based on thefirst facial descriptor identified in the image frames, the first facialdescriptor identified in the previously captured images, the secondfacial descriptor identified in the previously captured images, thesecond facial descriptor identified in images stored in one or moresocial networking profiles of non-users associated with the socialnetworking profile of the user, the difference between the first facialdescriptor from the image frames and the first facial descriptor fromthe previously captured image, and/or the difference between the secondfacial descriptor from previously captured images and the second facialdescriptor from images stored in one or more social networking profilesof non-users associated with the social networking profile of the user.For example, a notification that the user is an authorized user may begenerated when the difference between the first facial descriptor fromthe previously captured images and the first facial descriptor from theimage frames of the received video is lower than a predeterminedthreshold. Additionally or alternatively, the difference between thefirst facial descriptor from the image frames of the received video andthe first facial descriptor from the previously captured images isweighted higher than the identified second facial descriptor todetermine whether the user is an authorized user.

Generating the notification that the user is an authorized user maycomprise enabling the user to perform a financial transaction withfinancial institution 109, unlocking user device 102, enabling the userto access contents stored in user device 102, enabling the user toperform a purchase transaction with merchant 107, accessing one or moresocial networking site(s) 104, or any combination thereof. Additionallyor alternatively, the notification generated may be a visualnotification that is prompted to the user via GUI 103 of user device 102or an audible notification.

FIG. 9 is a flow chart illustrating another exemplary method 900 forauthenticating a user. Method 900 shown in FIG. 9 can be executed orotherwise performed by one or more combinations of various systems.Method 900 as described below may be carried out by the system forauthenticating a user, as shown in FIG. 1 , by way of example, andvarious elements of that system are referenced in explaining method 900.Each block shown in FIG. 9 represents one or more processes, methods, orsubroutines in the exemplary method 900. Referring to FIG. 9 , exemplarymethod 900 begins at block 901.

At block 901, one or more processor(s) 201 of user device 102 receive animage of the user. Once the image of the user is received, method 900proceeds to block 902. At block 902, one or more processor(s) 201identify a first facial descriptor of the user from the received imageand identify the first facial descriptor of the user from one or morepreviously captured images of the user stored in memory 204, storagemedium 206, and/or database 212 of user device 102. Once the firstfacial descriptor of the user is identified in the received image and inthe previously captured images stored in user device 102, method 900proceeds to block 903. At block 903, one or more processor(s) 201determine a difference between the first facial descriptor identified inthe received image and the first facial descriptor identified in thepreviously captured images stored in user device 102. The steps ofreceiving an image of user (block 901), identifying a first facialdescriptor of the user from the received image and from previouslycaptured images of the user (block 902), and determining a differencebetween the first facial descriptor from the received image and thefirst facial descriptor from previously captured images (block 903) arediscussed in detail above with respect to FIG. 7 .

Method 900 proceeds to block 904. At block 904, one or more processor(s)201 cross-verify the received image of the user against images of theuser stored in social networking profile(s) of the user. By way ofexample, one or more processor(s) 201 may apply a facial recognitionalgorithm to some or all of the images of the user stored in albums 302a . . . n in social networking profile(s) o the user. By doing so, oneor more processor(s) 201 may identify the first facial descriptor of theuser from the images of the user stored in albums 302 a . . . n. Asdiscussed above, one or more processor(s) 201 may determine a differencebetween the first facial descriptor identified in the received image andthe first facial descriptor identified in the images of the user storedin albums 302 a . . . n of the user’s social networking profile(s).

In order to determine a difference between the first facial descriptorfrom the received image and that from the images of the user stored insocial networking profile(s) of the user, one or more processor(s) 201may generate color histograms of the images. By way of example, one ormore processor(s) 201 may generate a color histogram of the receivedimage to identify the first facial descriptor. One or more processor(s)201 may further generate color histograms of the images of the userstored in the user’s social networking profile(s). Then, one or moreprocessor(s) 201 may compare the color histogram of the received imageto the color histograms of the images of the user stored in the user’ssocial networking profile(s) in order to match the color histogram ofthe received image to the color histograms of the images of the userstored in the user’s social networking profile(s). Based on thecomparison of the color histograms, one or more processor(s) 201 maydetermine a difference between the first facial descriptor from thereceived image and the first facial descriptor from the images of theuser stored in the user’s social networking profile(s). For example, oneor more processor(s) 201 may calculate a ratio or percentage of firstfacial descriptors from images of the user stored in the user’s socialnetworking profile(s) that did not match with the first facialdescriptor from the received image. If the ratio or percentagecalculated is lower than a predetermined threshold, one or moreprocessor(s) 201 may determine that the received image matches theimages of the user stored in the user’s social networking profile(s).The predetermined threshold may vary based on the level of securityrequired, riskiness of authentication, riskiness of transaction, or thelike. For example, if the user is requesting authentication to make afinancial transaction with financial institution 109 (e.g., paying acredit card balance), the level of security and/or riskiness of thetransaction will be higher than if the user is requesting authenticationto unlock a device. Therefore, the predetermined threshold may be variedsuch that it becomes more difficult for one or more processor(s) 201 toauthenticate the user.

Additionally or alternatively, one or more processor(s) 201 may alignthe received image with the previously captured images of the userstored in user device 102 in order to determine a difference between thefirst facial descriptor from the received image and the first facialdescriptor from the images of the user stored in the user’s socialnetworking profile(s). By way of example, one or more processor(s) 201may apply a facial recognition algorithm to the received image andidentify the first facial descriptor of the user. Then, one or moreprocessor(s) 201 may apply the facial recognition algorithm to images ofthe user stored in the user’s social networking profile(s) to identifythe first facial descriptor of the user from the images of the userstored in the user’s social networking profile(s). One or moreprocessor(s) 201 may proceed to align the first facial descriptor fromthe received image with the first facial descriptor identified in imagesof the user stored in the user’s social networking profile(s). Forexample, orientation of the images may be adjusted in order to align thefirst facial descriptor from the received image with the first facialdescriptor identified in the images of the user stored in the user’ssocial networking profile(s). One or more processor(s) 201 may assign anumerical value based on the alignment. For example, one or moreprocessor(s) 201 may assign a value of 5 (on a scale of 0 to 100) if thefirst facial descriptor from the received image aligns very closely withthe first facial descriptor identified in images of the user stored inthe user’s social networking profile(s). Alternatively, one or moreprocessor(s) 201 may assign a value of 90 if the first facial descriptorfrom the received image does not align closely with the first facialdescriptor identified in the images of the user stored in the user’ssocial networking profile(s). If the value assigned is lower than apredetermined threshold (meaning the difference between the receivedimage and the images of the user stored in the user’s social networkingprofile(s) is below a predetermined threshold), one or more processor(s)201 determine that the user is an authorized user based on thealignment.

At block 905, one or more processor(s) 201 cross-verify the receivedimage against images of the user stored in a social networking profileof non-user(s) associated with the social networking profile of theuser. By way of example, one or more processor(s) 201 may apply a facialrecognition algorithm to some or all of the images of non-users storedin albums 606 a . . . n in social networking profile(s) of non-users 502a . . . n. By doing so, one or more processor(s) 201 may identify thefirst facial descriptor of the user from the images stored in albums 606a . . . n in social networking profile(s) of non-users 502 a . . . n. Asdiscussed above, one or more processor(s) 201 may determine a differencebetween the first facial descriptor identified in the received image andthe first facial descriptor identified in the images stored in albums606 a . . . n in social networking profile(s) of non-users 502 a . . . nassociated with the social networking profile(s) of the user.

In order to determine a difference between the first facial descriptorfrom the received image and that from the images stored in albums 606 a. . . n in social networking profile(s) of non-users 502 a . . . n, oneor more processor(s) 201 may generate color histograms of the images. Byway of example, one or more processor(s) 201 may generate a colorhistogram of the received image to identify the first facial descriptor.One or more processor(s) 201 may further generate color histograms ofthe images stored in albums 606 a . . . n in social networkingprofile(s) of non-users 502 a . . . n. Then, one or more processor(s)201 may compare the color histogram of the received image to the colorhistograms of the images stored in albums 606 a . . . n in socialnetworking profile(s) of non-users 502 a . . . n in order to match thecolor histogram of the received image to the color histograms of theimages stored in albums 606 a . . . n in social networking profile(s) ofnon-users 502 a . . . n. Based on the comparison of the colorhistograms, one or more processor(s) 201 may determine a differencebetween the first facial descriptor from the received image and thefirst facial descriptor from the images stored in albums 606 a . . . nin social networking profile(s) of non-users 502 a . . . n. For example,one or more processor(s) 201 may calculate a ratio or percentage offirst facial descriptors from images stored in albums 606 a . . . n insocial networking profile(s) of non-users 502 a . . . n that did notmatch with the first facial descriptor from the received image. If theratio or percentage calculated is lower than a predetermined threshold,one or more processor(s) 201 may determine that the received imagematches the images stored in albums 606 a . . . n in social networkingprofile(s) of non-users 502 a . . . n. The predetermined threshold mayvary based on the level of security required, riskiness ofauthentication, riskiness of transaction, or the like. For example, ifthe user is requesting authentication to make a financial transactionwith financial institution 109 (e.g., paying a credit card balance), thelevel of security and/or riskiness of the transaction will be higherthan if the user is requesting authentication to unlock a device.Therefore, the predetermined threshold may be varied such that itbecomes more difficult for one or more processor(s) 201 to authenticatethe user.

Additionally or alternatively, one or more processor(s) 201 may alignthe received image with the images stored in albums 606 a . . . n insocial networking profile(s) of non-users 502 a . .. n in order todetermine a difference between the first facial descriptor from thereceived image and the first facial descriptor from the images stored inalbums 606 a . . . n in social networking profile(s) of non-users 502 a. . . n. By way of example, one or more processor(s) 201 may apply afacial recognition algorithm to the received image and identify thefirst facial descriptor of the user. Then, one or more processor(s) 201may apply the facial recognition algorithm to images stored in albums606 a . . . n in social networking profile(s) of non-users 502 a . . . nto identify the first facial descriptor of the user from the imagesstored in albums 606 a . . . n in social networking profile(s) ofnon-users 502 a . . . n. One or more processor(s) 201 may proceed toalign the first facial descriptor from the received image with the firstfacial descriptor identified in images stored in albums 606 a . . . n insocial networking profile(s) of non-users 502 a . . . n. For example,orientation of the images may be adjusted in order to align the firstfacial descriptor from the received image with the first facialdescriptor identified in the images stored in albums 606 a . . . n insocial networking profile(s) of non-users 502 a . . . n. One or moreprocessor(s) 201 may assign a numerical value based on the alignment.For example, one or more processor(s) 201 may assign a value of 5 (on ascale of 0 to 100) if the first facial descriptor from the receivedimage aligns very closely with the first facial descriptor identified inimages stored in albums 606 a . . . n in social networking profile(s) ofnon-users 502 a . . . n. Alternatively, one or more processor(s) 201 mayassign a value of 90 if the first facial descriptor from the receivedimage does not align closely with the first facial descriptor identifiedin the images stored in albums 606 a . . . n in social networkingprofile(s) of non-users 502 a . . . n. If the value assigned is lowerthan a predetermined threshold (meaning the difference between thereceived image and the images stored in albums 606 a . . . n in socialnetworking profile(s) of non-users 502 a . . . n is below apredetermined threshold), one or more processor(s) may determine whetherthe user is an authorized user based on the alignment.

At block 906, one or more processor(s) 201 generate a notificationindicative of whether the user in the received image is an authorizeduser. The step of generating a notification indicative of whether theuser in the received image is an authorized user is discussed in detailabove with respect to FIGS. 7 and 8 .

FIG. 10 is a flow chart illustrating an exemplary method 1000 forchecking a liveness of the user. Method 1000 shown in FIG. 10 can beexecuted or otherwise performed by one or more combinations of varioussystems. Method 1000 as described below may be carried out by the systemfor authenticating a user, as shown in FIG. 1 , by way of example, andvarious elements of that system are referenced in explaining method1000. Each block shown in FIG. 10 represents one or more processes,methods, or subroutines in the exemplary method 1000. Referring to FIG.10 , the exemplary method 1000 begins at block 1001.

At block 1001, one or more processor(s) 201 request the user to make apredetermined facial expression. Additionally or alternatively, one ormore processor(s) 201 may request the user to perform a predeterminedmotion. By way of example, one or more processor(s) 201 may request theuser to make a predetermined facial expression, including sad face,happy face, crying face, angry face, laughing face, and/or the like. Oneor more processor(s) 201 may request the user to make a plurality ofpredetermined facial expressions. In other embodiments, one or moreprocessor(s) 201 may request the user to perform a predetermined motion,including winking, sticking out the tongue, moving the head in one ormore directions, shaking the head, and/or the like. One or moreprocessor(s) 201 may request the user to perform a plurality of thepredetermined motions.

At block 1002, one or more processor(s) 201 capture image(s) or recordvideo(s) of the user while the user is making the facial expression orperforming the motion requested. By way of example, in response to therequest at block 1001 for the user to make a predetermined facialexpression or perform a predetermined motion, one or more processor(s)201 may cause one or more sensor(s) 203 to become activated. Forexample, after requesting the user to make a predetermined facialexpression or perform a predetermined motion, one or more processor(s)201 may activate one or more sensor(s) 203, such as a camera, such thatthe user can capture images of the user or record videos of the usermaking the facial expression or performing the motion requested. One ormore processor(s) 201 may store the images captured or the videosrecorded in memory 204, storage medium 206, and/or database 212 of userdevice 102.

Once the image(s) captured or video(s) recorded are received by one ormore processor(s) 201, method 1000 proceeds to block 1003. At block1003, one or more processor(s) 201 perform three-dimensional (3D)rendering of the image(s) or video(s). As such, one or more processor(s)201 may be able to process and evaluate a 3D image of the user’s facialdescriptor. One or more processor(s) 201 may further perform 3Drendering of the previously captured images or previously recordedvideos stored in user device 102. Once one or more processor(s) 201perform 3D rendering of the received image and/or video as well as theimages/videos previously stored in user device 102, one or moreprocessor(s) 201 may compare the 3D rendered images. Additionally oralternatively, one or more processor(s) 201 may track a movement of thereceived 3D rendered image(s) and/or video(s). For example, one or moreprocessor(s) 201 may identify one or more feature points on the receivedimage or video. Afterwards, one or more processor(s) 201 may track amovement of the one or more features points in space and time. By way ofexample, one or more processor(s) 201 may track a movement of the one ormore features over multiple consecutive image frames in order todetermine whether the one or more features point(s) are moving inresponse to the predetermined motion or predetermined facial expressionrequested. As such, one or more processor(s) 201 may be able toauthenticate the user with high accuracy and reliability.

Once the one or more processor(s) 201 performs 3D rendering of theimage(s) or video(s) of the user, method 1000 proceeds to block 1004. Atblock 1004, one or more processor(s) 201 detect liveness of the image(s)and/or video(s). For example, as discussed above, one or moreprocessor(s) 201 may track the movement of one or more features pointson the 3D rendered image(s) or video(s) of the user. If the trackedmovement exceeds a predetermined threshold, one or more processor(s) 201may determine that the image(s) and/or video(s) of the user received isindeed “live.” Additionally or alternatively, one or more processor(s)201 may compare the tracked movement of the one or more feature pointsto already stored movement patterns of features points corresponding tovarious predetermined facial expressions or predetermined motions. Forexample, database 106 or database 212 may store a look-up table ofpredetermined movement patterns of feature points that correspond to awink, movement of the head to the left, movement of the head to theright, and any other predetermined facial expressions or predeterminedmotions used to determine a liveness of the user’s image(s) or video(s).As such, one or more processor(s) 201 may access the look-up table andcompare the tracked movement of the one or more features points in thereceived image(s) or video(s) of the user in response to sending therequest at block 1001. Based on the comparison, one or more processor(s)201 may be configured to determine which predetermined motion orpredetermined facial expression corresponds to the tracked movement ofthe one or more feature points in the received image(s) and/or video(s).Based on the determination, one or more processor(s) 201 may furtherdetermine whether the determined motion and/or facial expressioncorresponds with the motion and/or facial expression requested of theuser at block 1001. If the determined motion and/or facial expressionindeed corresponds with the motion and/or facial expression requested tothe user at block 1001, one or more processor(s) 201 may determine thatthe received image(s) and/or video(s) is “live.” If the determinedmotion and/or facial expression does not correspond with the motionand/or facial expression requested of the user at block 1001, one ormore processor(s) 201 may determine that the received image(s) and/orvideo(s) is not “live,” and thus, determine that the user is not anauthorized user.

Once liveness of the image(s) and/or video(s) is determined, method 1000proceeds to block 1005. At block 1005, one or more processor(s) 201generate a notification indicative of whether the user in the receivedimage(s) and/or video(s) is an authorized user. The step of generating anotification indicative of whether the user in the received image(s)and/or video(s) is an authorized user is discussed in detail above withrespect to FIGS. 7 and 8 .

It is further noted that the methods described herein may be implementedin software tangibly embodied in one of more physical media, such as,but not limited to, a compact disc (CD), a digital versatile disc (DVD),a floppy disk, a hard drive, read only memory (ROM), random accessmemory (RAM), as well as other physical media capable of storingsoftware, or combinations thereof. Moreover, the figures illustratevarious components (e.g., servers, computers, processors, etc.)separately. The functions described as being performed by variouscomponents may be performed by other components, and the variouscomponents may be combined or separated. Other modifications also may bemade.

In the preceding specification, various preferred embodiments have beendescribed with references to the accompanying drawings. It will,however, be evident that various modifications and changes may be madethereto, and additional embodiments may be implemented, withoutdeparting from the broader scope of the invention as set forth in theclaims that follow. The specification and drawings are accordingly to beregarded as an illustrative rather than restrictive sense.

What is claimed is:
 1. A computer-implemented method of authenticating auser, the method comprising: receiving an image of a user of a device;identifying at least one facial descriptor of the user from the image;identifying at least one facial descriptor of the user from a pluralityof previously captured images of the user stored in the device;determining a difference between the at least one facial descriptor fromthe image and the at least one facial descriptor from the plurality ofpreviously captured images; cross-verifying the difference against aplurality of images of the user stored in a social networking profile ofthe user; and authenticating the user in the image based oncross-verifying the difference.
 2. The computer-implemented method ofclaim 1, further comprising generating a notification that the user inthe image is an authorized user when the difference between the at leastone facial descriptor from the image and the at least one facialdescriptor from the plurality of previously captured images is lowerthan a predetermined threshold.
 3. The computer-implemented method ofclaim 1, wherein the at least one facial descriptor of the usercomprises at least one of an eye, a nose, or a mouth of the user.
 4. Thecomputer-implemented method of claim 1, wherein determining thedifference between the at least one facial descriptor from the image andthe at least one facial descriptor from the plurality of previouslycaptured images further comprises: generating a first color histogram ofthe at least one facial descriptor from the image; and comparing thefirst color histogram with second color histograms of the at least onefacial descriptor from the plurality of previously captured images. 5.The computer-implemented method of claim 1, wherein determining thedifference between the at least one facial descriptor from the image andthe at least one facial descriptor from the plurality of previouslycaptured images further comprises: aligning the at least one facialdescriptor from the image with the at least one facial descriptor fromthe plurality of previously captured images.
 6. The computer-implementedmethod of claim 1, further comprising evaluating a liveness of the userby: requesting the user to make a predetermined facial expression;capturing a second image of the user while the user is making thepredetermined facial expression; and performing a three-dimensionalrendering of the second image.
 7. The computer-implemented method ofclaim 1, wherein cross-verifying the difference further comprises:aggregating social networking profiles of non-users associated with thesocial networking profile of the user; calculating, based on a facialrecognition performed, a number of images in which the at least onefacial descriptor of the user was identified; and authenticating theuser when the number of images exceeds a predetermined threshold.
 8. Thecomputer-implemented method of claim 1, further comprising: generating,based on at least the difference, a notification indicative of whetherthe user in the image is an authorized user, wherein the notificationcomprises at least one of a visual notification or an audiblenotification.
 9. The computer-implemented method of claim 8, whereingenerating the notification further comprises at least one of: unlockingthe device; and enabling the user to access contents stored in thedevice or enabling the user to perform a financial transaction.
 10. Thecomputer-implemented method of claim 2, further comprising enabling theuser to perform a financial transaction when the difference is lowerthan the predetermined threshold, wherein the predetermined thresholdvaries based on a type of financial transaction requested by the user.11. A system for authenticating a user, comprising: at least oneprocessor; and at least one memory storing instructions, wherein theinstructions cause the at least one processor to perform operationscomprising: receiving an image of the user of a device; identifying atleast one facial descriptor of the user from the image; identifying atleast one facial descriptor of the user from a plurality of previouslycaptured images of the user stored in the device; determining adifference between the at least one facial descriptor from the image andthe at least one facial descriptor from the plurality of previouslycaptured images; cross-verifying the difference against a plurality ofimages of the user stored in a social networking profile of the user;and authenticating the user in the image based on cross-verifying thedifference.
 12. The system of claim 11, further comprising generating anotification that the user in the image is an authorized user when thedifference between the at least one facial descriptor from the image andthe at least one facial descriptor from the plurality of previouslycaptured images is lower than a predetermined threshold.
 13. The systemof claim 11, wherein the at least one facial descriptor of the usercomprises at least one of an eye, a nose, or a mouth of the user. 14.The system of claim 11, wherein determining the difference between theat least one facial descriptor from the image and the at least onefacial descriptor from the plurality of previously captured imagesfurther comprises: generating a first color histogram of the at leastone facial descriptor from the image; and comparing the first colorhistogram with second color histograms of the at least one facialdescriptor from the plurality of previously captured images.
 15. Thesystem of claim 11, wherein determining the difference between the atleast one facial descriptor from the image and the at least one facialdescriptor from the plurality of previously captured images furthercomprises: aligning the at least one facial descriptor from the imagewith the at least one facial descriptor from the plurality of previouslycaptured images.
 16. The system of claim 11, further comprisingevaluating a liveness of the user by: requesting the user to make apredetermined facial expression; capturing a second image of the userwhile the user is making the predetermined facial expression; andperforming a three-dimensional rendering of the second image.
 17. Thesystem of claim 11, wherein cross-verifying the difference furthercomprises: aggregating social networking profiles of non-usersassociated with the social networking profile of the user; calculating,based on a facial recognition performed, a number of images in which theat least one facial descriptor of the user was identified; andauthenticating the user when the number of images exceeds apredetermined threshold.
 18. The system of claim 11, further comprising:generating, based on at least the difference, a notification indicativeof whether the user in the image is an authorized user, wherein thenotification comprises at least one of a visual notification or anaudible notification.
 19. The system of claim 18, wherein generating thenotification further comprises at least one of: unlocking the device;and enabling the user to access contents stored in the device orenabling the user to perform a financial transaction.
 20. The system ofclaim 12, further comprising enabling the user to perform a financialtransaction when the difference is lower than the predeterminedthreshold, wherein the predetermined threshold varies based on a type offinancial transaction requested by the user.